package jeecg.business.service.keyinfo;

import java.util.Date;
import java.util.List;

import jeecg.business.entity.keyinfo.KeyinfoEntity;
import jeecg.business.vo.CommonAnalysisVo;
import jeecg.business.vo.RefwordVo;
import jeecg.business.vo.TimeLastAnalysisVo;
import jeecg.business.vo.TypeAnalysisVo;

import org.jeecgframework.core.common.model.json.DataGrid;
import org.jeecgframework.core.common.service.CommonService;

public interface KeyinfoServiceI extends CommonService{
	
	List<KeyinfoEntity> list(String enterid , String sfsc);
	
	List<KeyinfoEntity> listByTime(String enterid , String starttime , String keyword);
	
	void setStatus(String ids , String status);
	
	boolean hasHref(String url , String qyid);
	
	boolean hasTitle(String title , String qyid);
	
	void saveKeyinfo4Edit(KeyinfoEntity keyinfoEntity);
	
	void saveKeyinfo(KeyinfoEntity keyinfoEntity);
	/**
	 * 
	 * <p>
	 * 方法简要描述: 分析最近一周的类型分布
	 * </p>
	 * <p>
	 * 方法详细描述: // TODO
	 * </p>
	 * 
	 * @author LinYingPiaoJian(Q:71426052)
	 * @version 
	 * @see
	 * @param enterid
	 * @return
	 */
	List<TypeAnalysisVo> analysisLastWeek4Type(String enterid , KeyinfoEntity keyinfo);
	
	List<TypeAnalysisVo> analysis4Fmjb(String enterid , KeyinfoEntity keyinfo);
	
	List<TypeAnalysisVo> analysisLastWeek4Type(String enterid);
	
	List<KeyinfoEntity> listTopNew(String enterid , int top);
	
	DataGrid listTopNewByPage(String enterid , KeyinfoEntity keyinfo , int pageNum);
	
	List<KeyinfoEntity> listTopTypeNew(String enterid , String type , int top);
	
	List<KeyinfoEntity> listTopBadTypeNew(String enterid , String type , int top);
	
	List<KeyinfoEntity> listLevelNew(String enterid , String fmjb , int top);
	
	List<KeyinfoEntity> ListTopFmNew(String enterid , int top);
	
	List<KeyinfoEntity> ListTopYjNew(String enterid , int top);
	
	
	/**
	 * 
	 * <p>
	 * 方法简要描述: 根据时间统计
	 * </p>
	 * <p>
	 * 方法详细描述: // TODO
	 * </p>
	 * 
	 * @author LinYingPiaoJian(Q:71426052)
	 * @version 
	 * @see
	 * @param enterid
	 * @param keyinfo
	 * @return
	 */
	List<CommonAnalysisVo> analysisTime(String enterid , KeyinfoEntity keyinfo);
	
	List<CommonAnalysisVo> analysisWord(String enterid , int top);
	
	List<CommonAnalysisVo> analysisType(String enterid , KeyinfoEntity keyinfo);
	
	List<CommonAnalysisVo> analysisFmjb(String enterid , KeyinfoEntity keyinfo);
	
	List<CommonAnalysisVo> analysisArea(String enterid , KeyinfoEntity keyinfo);
	
	List<CommonAnalysisVo> analysisSite(String enterid , KeyinfoEntity keyinfo , int top);
 
	List<CommonAnalysisVo> analysisBad(String enterid , KeyinfoEntity keyinfo );
	
	List<CommonAnalysisVo> analysisBad4Type(String enterid , KeyinfoEntity keyinfo);
	
	List<CommonAnalysisVo> analysisBad4Site(String enterid , KeyinfoEntity keyinfo);
	
	List<TimeLastAnalysisVo> analysisLastTime4Type(String enterid , int day);
	
	List<KeyinfoEntity> listAfterTime(Date logintime , KeyinfoEntity keyinfo , int top);
	
	int countAfterTime(Date logintime , KeyinfoEntity keyinfo);
	
	List<RefwordVo> analysisRef(String enterid , KeyinfoEntity keyinfo);
}
